import java.io.*;
import java.util.Scanner;

public class IODemo {
    public static void main(String[] args) {
        System.out.println("请输入查询的文件名:");
        Scanner sc = new Scanner(System.in);
        String fileName = sc.next();
        System.out.println("请输入查询目录:");
        String file = sc.next();
        //构造方法中传入路径就可以构造出这个路径下的文件目录
        //我们只是在代码中构造处了对象,但是是否真的存在这个目录还不能确定,所以需要判断
        File fileRoot = new File(file);
        if(!fileRoot.isDirectory()){
            System.out.println("输入目录错误!");
            return ;
        }
        //输入目录存在,开始查询
        scanFile(fileName , fileRoot);
    }
    private static void scanFile(String fileName , File fileRoot){
        File[] files = fileRoot.listFiles();//此操作就是将目录中的文件全部统一组成一个数组返回
        if(files == null){
            return;
        }
        //遍历
        for (File f: files) {
            if(f.isFile()){
                //判断是否为文件,若是文件则与查找的文件名比较
                if(fileName.equals(f.getName())) {
                    System.out.println("找到该文件:" + f.getAbsolutePath());
                }
            }else if(f.isDirectory()){
                scanFile(fileName , f);
            }else{
                ;
            }
        }
    }
}
